package com.imooc.pan.file.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Janson
 * @Description mysql es 数据同步消息实体
 * @Date 2023/7/28
 */
@TableName(value ="file_message")
@Data
public class FileMessage implements Serializable {
    
    /**
     * 主键 id
     */
    @TableId
    private Long id;
    
    /**
     * 文件记录ID
     */
    @TableField(value = "file_id")
    private Long fileId;
    
    /**
     * 用户ID
     */
    @TableField(value = "user_id")
    private Long userId;
    
    /**
     * 上级文件夹ID,顶级文件夹为0
     */
    @TableField(value = "parent_id")
    private Long parentId;
    
    /**
     * 上级文件夹名称,顶级文件夹为0
     */
    @TableField(value = "parent_filename")
    private String parentFilename;
    /**
     * 0新增数据消息，1修改数据消息 2删除数据消息，
     */
    @TableField(value = "mq_flag")
    private Integer mqFlag;
    /**
     * 真实文件id
     */
    @TableField(value = "real_file_id")
    private Long realFileId;
    
    /**
     * 文件名
     */
    @TableField(value = "filename")
    private String filename;
    
    /**
     * 是否是文件夹 （0 否 1 是）
     */
    @TableField(value = "folder_flag")
    private Integer folderFlag;
    
    /**
     * 文件大小展示字符
     */
    @TableField(value = "file_size_desc")
    private String fileSizeDesc;
    
    /**
     * 文件类型（1 普通文件 2 压缩文件 3 excel 4 word 5 pdf 6 txt 7 图片 8 音频 9 视频 10 ppt 11 源码文件 12 csv）
     */
    @TableField(value = "file_type")
    private Integer fileType;
    
    /**
     * 删除标识（0 否 1 是）
     */
    @TableField(value = "del_flag")
    private Integer delFlag;
    
    @TableField(value = "retry_count")
    private Integer retryCount;
    /**
     * 创建人
     */
    @TableField(value = "create_user")
    private Long createUser;
    
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;
    
    /**
     * 更新人
     */
    @TableField(value = "update_user")
    private Long updateUser;
    
    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
    
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
